package com.mdb.open.trade.domain.ko.trade;

import com.mdb.bc.api.data.DataObjectBase;
import com.mdb.open.common.enums.trade.status.BankAccountRecordStatusEnum;
import com.mdb.open.common.enums.trade.type.MerchantsTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * @description:
 * @author: you.yichao
 * @create: 2019-08-22 20:48
 **/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="MerchantBankAccKo", description="查询商户收款账号分页Ko对象")
public class MerchantBankAccKo extends DataObjectBase {

    /**
     * 客户编码(归属一级)
     */
    @ApiModelProperty(value = "客户编码(归属一级)")
    private String customerCode;

    /**
     * 客户名称(归属一级)
     */
    @ApiModelProperty(value = "客户名称(归属一级)")
    private String customerName;

    /**
     * 商户号
     */
    @ApiModelProperty(value = "商户号")
    private String merchantNo;

    /**
     * 商户类型
     */
    @ApiModelProperty(value = "商户类型")
    private MerchantsTypeEnum merchantType;

    /**
     * 商户名称(中文)
     */
    @ApiModelProperty(value = "商户名称(中文)")
    private String merchantNameCn;

    /**
     * 商户名称(英文)
     */
    @ApiModelProperty(value = "商户名称(英文)")
    private String merchantNameEn;

    /**
     * 商户证件号码(社会信用代码/营业执照代码/个人身份证)
     */
    @ApiModelProperty(value = "商户证件号码(社会信用代码/营业执照代码/个人身份证)")
    private String merchantCertNumber;

    /**
     * 商户收款账号唯一标识
     */
    @ApiModelProperty(value = "商户收款账号唯一标识")
    private String accUniqueNo;

    /**
     * 收款单位中文名称
     */
    @ApiModelProperty(value = "收款单位中文名称")
    private String accCnName;

    /**
     * 收款单位英文名称
     */
    @ApiModelProperty(value = "收款单位英文名称")
    private String accEnName;

    /**
     * 收款单位地址
     */
    @ApiModelProperty(value = "收款单位地址")
    private String receiveAddress;

    /**
     * 收款账号
     */
    @ApiModelProperty(value = "收款账号")
    private String accNo;

    /**
     * 收款账号分行
     */
    @ApiModelProperty(value = "收款账号分行")
    private String accBranch;

    /**
     * swift code
     */
    @ApiModelProperty(value = "swift code")
    private String swiftCode;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    private BankAccountRecordStatusEnum status;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updateTime;

    /**
     * 商户对应的收款账号
     */
    private Integer accCount;
}
